/*
This file is part of CanFestival, a library implementing CanOpen Stack.

Copyright (C): Edouard TISSERANT and Francis DUPIN

See COPYING file for copyrights details.

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/
/*
Definition of the i/o ports of the Motorola HCS12
*/

/*
On HCS12, ports are maped by default at 0X0000. (see ports.s)
It can also be done at link stage with an option in
command line : for example to map at 0X8000
--defsym _io_ports8=0X8000 --defsym _io_ports16=0X8000
Or in the file memory.x :
PROVIDE (_io_ports8 = 0X8000);
PROVIDE (_io_ports16 = 0X8000);
(see portsaccess.h)
I wonder if the value in INITRG must not be changed too
at run time.
*/

#ifndef __HCS12_PORTS__
#define __HCS12_PORTS__

#define  PORTA     0x0000
#define  PORTB     0x0001
#define  DDRA      0x0002
#define  DDRB      0x0003

#define  PORTE     0x0008
#define  DDRE      0x0009
#define  PEAR      0x000A
#define  MODE      0x000B
#define  PUCR      0x000C
#define  RDRIV     0x000D
#define  EBICTL    0x000E

#define  INITRM    0x0010
#define  INITRG    0x0011
#define  INITEE    0x0012
#define  MISC      0x0013
#define  MTST0     0x0014
#define  ITCR      0x0015
#define  ITEST     0x0016
#define  MTST1     0x0017

#define  PARTIDH   0x001A
#define  PARTIDL   0x001B
#define  MEMSIZ0   0x001C
#define  MEMSIZ1   0x001D
#define  INTCR     0x001E
#define  HPRIO     0x001F

#define  BKPCT0    0x0028
#define  BKPCT1    0x0029
#define  BKP0X     0x002A
#define  BKP0H     0x002B
#define  BKP0L     0x002C
#define  BKP1X     0x002D
#define  BKP1H     0x002E
#define  BKP1L     0x002F
#define  PPAGE     0x0030

#define  PORTK     0x0032
#define  DDRK      0x0033
#define  SYNR      0x0034
#define  REFDV     0x0035
#define  CTFLG     0x0036
#define  CRGFLG    0x0037
#define  CRGINT    0x0038
#define  CLKSEL    0x0039
#define  PLLCTL    0x003A
#define  RTICTL    0x003B
#define  COPCTL    0x003C
#define  FORBYP    0x003D
#define  CTCTL     0x003E
#define  ARMCOP    0x003F
#define  TIOS      0x0040
#define  TCFORC    0x0041
#define  TOC7M     0x0042
#define  TOC7D     0x0043
#define  TCNTH     0x0044
#define  TCNTL     0x0045
#define  TSCR1     0x0046
#define  TTOV      0x0047
#define  TCTL1     0x0048
#define  TCTL2     0x0049
#define  TCTL3     0x004A
#define  TCTL4     0x004B
#define  TIE       0x004C
#define  TSCR2     0x004D
#define  TFLG1     0x004E
#define  TFLG2     0x004F
#define  TC0H      0x0050
#define  TC0L      0x0051
#define  TC1H      0x0052
#define  TC1L      0x0053
#define  TC2H      0x0054
#define  TC2L      0x0055
#define  TC3H      0x0056
#define  TC3L      0x0057
#define  TC4H      0x0058
#define  TC4L      0x0059
#define  TC5H      0x005A
#define  TC5L      0x005B
#define  TC6H      0x005C
#define  TC6L      0x005D
#define  TC7H      0x005E
#define  TC7L      0x005F
#define  PACTL     0x0060
#define  PAFLG     0x0061
#define  PACN3H    0x0062
#define  PACN2L    0x0063
#define  PACN1H    0x0064
#define  PACN0L    0x0065
#define  MCCTL     0x0066
#define  MCFLG     0x0067
#define  ICPAR     0x0068
#define  DLYCT     0x0069
#define  ICOVW     0x006A
#define  ICSYS     0x006B

#define  TIMTST    0x006D

#define  PBCTL     0x0070
#define  PBFLG     0x0071
#define  PA3H      0x0072
#define  PA2H      0x0073
#define  PA1H      0x0074
#define  PA0H      0x0075
#define  MCCNTH    0x0076
#define  MCCNTL    0x0077
#define  TC0HH     0x0078
#define  TC0HL     0x0079
#define  TC1HH     0x007A
#define  TC1HL     0x007B
#define  TC2HH     0x007C
#define  TC2HL     0x007D
#define  TC3HH     0x007E

#define  ATD0CTL0  0x0080
#define  ATD00CTL1 0x0081
#define  ATD0CTL2  0x0082
#define  ATD0CTL3  0x0083
#define  ATD0CTL4  0x0084
#define  ATD0CTL5  0x0085
#define  ATD0STAT0 0x0086
#define  ATD0STAT1 0x0087
#define  ATD0TEST0 0x0088
#define  ATD0TEST1 0x0089

#define  ATD0DIEN  0x008D

#define  PORTAD0   0x008F
#define  ATD0DR0H  0x0090
#define  ATD0DR0L  0x0091
#define  ATD0DR1H  0x0092
#define  ATD0DR1L  0x0093
#define  ATD0DR2H  0x0094
#define  ATD0DR2L  0x0095
#define  ATD0DR3H  0x0096
#define  ATD0DR3L  0x0097
#define  ATD0DR4H  0x0098
#define  ATD0DR4L  0x0099
#define  ATD0DR5H  0x009A
#define  ATD0DR5L  0x009B
#define  ATD0DR6H  0x009C
#define  ATD0DR6L  0x009D
#define  ATD0DR7H  0x009E
#define  ATD0DR7L  0x009F
#define  PWME      0x00A0
#define  PWMPOL    0x00A1
#define  PWMCLK    0x00A2
#define  PWMPRCLK  0x00A3
#define  PWMCAE    0x00A4
#define  PWMCTL    0x00A5
#define  PWMTST    0x00A6
#define  PWMPRSC   0x00A7
#define  PWMSCLA   0x00A8
#define  PWMSCLB   0x00A9
#define  PWMSCNTA  0x00AA
#define  PWMSCNTB  0x00AB
#define  PWMCNT0   0x00AC
#define  PWMCNT1   0x00AD
#define  PWMCNT2   0x00AE
#define  PWMCNT3   0x00AF
#define  PWMCNT4   0x00B0
#define  PWMCNT5   0x00B1
#define  PWMCNT6   0x00B2
#define  PWMCNT7   0x00B3
#define  PWMPER0   0x00B4
#define  PWMPER1   0x00B5
#define  PWMPER2   0x00B6
#define  PWMPER3   0x00B7
#define  PWMPER4   0x00B8
#define  PWMPER5   0x00B9
#define  PWMPER6   0x00BA
#define  PWMPER7   0x00BB
#define  PWMDTY0   0x00BC
#define  PWMDTY1   0x00BD
#define  PWMDTY2   0x00BE
#define  PWMDTY3   0x00BF
#define  PWMDTY4   0x00C0
#define  PWMDTY5   0x00C1
#define  PWMDTY6   0x00C2
#define  PWMDTY7   0x00C3
#define  PWMSDN    0x00C4

#define  SCI0BDH   0x00C8
#define  SCI0BDL   0x00C9
#define  SC0CR1    0x00CA
#define  SCI0CR2   0x00CB
#define  SCI0SR1   0x00CC
#define  SC0SR2    0x00CD
#define  SCI0DRH   0x00CE
#define  SCI0DRL   0x00CF
#define  SCI1BDH   0x00D0
#define  SCI1BDL   0x00D1
#define  SC1CR1    0x00D2
#define  SCI1CR2   0x00D3
#define  SCI1SR1   0x00D4
#define  SC1SR2    0x00D5
#define  SCI1DRH   0x00D6
#define  SCI1DRL   0x00D7
#define  SPI0CR1   0x00D8
#define  SPI0CR2   0x00D9
#define  SPI0BR    0x00DA
#define  SPI0SR    0x00DB

#define  SPI0DR    0x00DD

#define  IBAD      0x00E0
#define  IBFD      0x00E1
#define  IBCR      0x00E2
#define  IBSR      0x00E3
#define  IICDR     0x00E4

#define  DLCBCR1   0x00E8
#define  DLCBSVR   0x00E9
#define  DLCBCR2   0x00EA
#define  DLCBDR    0x00EB
#define  DLCBARD   0x00EC
#define  DLCBRSR   0x00ED
#define  DLCSCR    0x00EE
#define  DLCBSTAT  0x00EF
#define  SPI1CR1   0x00F0
#define  SPI1CR2   0x00F1
#define  SPI1BR    0x00F2
#define  SPI1SR    0x00F3

#define  SPI1DR    0x00F5

#define  SPI2CR1   0x00F8
#define  SPI2CR2   0x00F9
#define  SPI2BR    0x00FA
#define  SPI2SR    0x00FB

#define  SPI2DR    0x00FD

#define  FCLKDIV   0x0100
#define  FSEC      0x0101

#define  FCNFG     0x0103
#define  FPROT     0x0104
#define  FSTAT     0x0105
#define  FCMD      0x0106

#define  ECLKDIV   0x0110

#define  ECNFG     0x0113
#define  EPROT     0x0114
#define  ESTAT     0x0115
#define  ECMD      0x0116

#define  ATD1CTL0  0x0120
#define  ATD1CTL1  0x0121
#define  ATD1CTL2  0x0122
#define  ATD1CTL3  0x0123
#define  ATD1CTL4  0x0124
#define  ATD1CTL5  0x0125
#define  ATD1STAT0 0x0126
#define  ATD1STAT1 0x0127
#define  ATD1TEST0 0x0128
#define  ATD1TEST1 0x0129

#define  ATDDIEN   0x012D

#define  PORTAD1   0x012F
#define  ATD1DR0H  0x0130
#define  ATD1DR0L  0x0131
#define  ATD1DR1H  0x0132
#define  ATD1DR1L  0x0133
#define  ATD1DR2H  0x0134
#define  ATD1DR2L  0x0135
#define  ATD1DR3H  0x0136
#define  ATD1DR3L  0x0137
#define  ATD1DR4H  0x0138
#define  ATD1DR4L  0x0139
#define  ATD1DR5H  0x013A
#define  ATD1DR5L  0x013B
#define  ATD1DR6H  0x013C
#define  ATD1DR6L  0x013D
#define  ATD1DR7H  0x013E
#define  ATD1DR7L  0x013F
#define  CAN0CTL0  0x0140
#define  CAN0CTL1  0x0141
#define  CAN0BTR0  0x0142
#define  CAN0BTR1  0x0143
#define  CAN0RFLG  0x0144
#define  CAN0RIER  0x0145
#define  CAN0TFLG  0x0146
#define  CAN0TIER  0x0147
#define  CAN0TARQ  0x0148
#define  CAN0TAAK  0x0149
#define  CAN0TBSEL 0x014A
#define  CAN0IDAC  0x014B

#define  CAN0RXERR 0x014E
#define  CAN0TXERR 0x014F
#define  CAN0IDAR0 0x0150
#define  CAN0IDAR1 0x0151
#define  CAN0IDAR2 0x0152
#define  CAN0IDAR3 0x0153
#define  CAN0IDMR0 0x0154
#define  CAN0IDMR1 0x0155
#define  CAN0IDMR2 0x0156
#define  CAN0IDMR3 0x0157
#define  CAN0IDAR4 0x0158
#define  CAN0IDAR5 0x0159
#define  CAN0IDAR6 0x015A
#define  CAN0IDAR7 0x015B
#define  CAN0IDMR4 0x015C
#define  CAN0IDMR5 0x015D
#define  CAN0IDMR6 0x015E
#define  CAN0IDMR7 0x015F
#define  CAN0RXFG0 0x0160
#define  CAN0RXFG1 0x0161
#define  CAN0RXFG2 0x0162
#define  CAN0RXFG3 0x0163
#define  CAN0RXFG4 0x0164
#define  CAN0RXFG5 0x0165
#define  CAN0RXFG6 0x0166
#define  CAN0RXFG7 0x0167
#define  CAN0RXFG8 0x0168
#define  CAN0RXFG9 0x0169
#define  CAN0RXFGA 0x016A
#define  CAN0RXFGB 0x016B
#define  CAN0RXFGC 0x016C
#define  CAN0RXFGD 0x016D
#define  CAN0RXFGE 0x016E
#define  CAN0RXFGF 0x016F
#define  CAN0TXFG0 0x0170
#define  CAN0TXFG1 0x0171
#define  CAN0TXFG2 0x0172
#define  CAN0TXFG3 0x0173
#define  CAN0TXFG4 0x0174
#define  CAN0TXFG5 0x0175
#define  CAN0TXFG6 0x0176
#define  CAN0TXFG7 0x0177
#define  CAN0TXFG8 0x0178
#define  CAN0TXFG9 0x0179
#define  CAN0TXFGA 0x017A
#define  CAN0TXFGB 0x017B
#define  CAN0TXFGC 0x017C
#define  CAN0TXFGD 0x017D
#define  CAN0TXFGE 0x017E
#define  CAN0TXFGF 0x017F

#define  CAN1CTL0  0x0180
#define  CAN1CTL1  0x0181
#define  CAN1BTR0  0x0182
#define  CAN1BTR1  0x0183
#define  CAN1RFLG  0x0184
#define  CAN1RIER  0x0185
#define  CAN1TFLG  0x0186
#define  CAN1TIER  0x0187
#define  CAN1TARQ  0x0188
#define  CAN1TAAK  0x0189
#define  CAN1TBSEL 0x018A
#define  CAN1IDAC  0x018B
#define  CAN1RXERR 0x018E
#define  CAN1TXERR 0x018F
#define  CAN1IDAR0 0x0190
#define  CAN1IDAR1 0x0191
#define  CAN1IDAR2 0x0192
#define  CAN1IDAR3 0x0193
#define  CAN1IDMR0 0x0194
#define  CAN1IDMR1 0x0195
#define  CAN1IDMR2 0x0196
#define  CAN1IDMR3 0x0197
#define  CAN1IDAR4 0x0198
#define  CAN1IDAR5 0x0199
#define  CAN1IDAR6 0x019A
#define  CAN1IDAR7 0x019B
#define  CAN1IDMR4 0x019C
#define  CAN1IDMR5 0x019D
#define  CAN1IDMR6 0x019E
#define  CAN1IDMR7 0x019F

#define  CAN1RXFG0 0x01A0
#define  CAN1RXFG1 0x01A1
#define  CAN1RXFG2 0x01A2
#define  CAN1RXFG3 0x01A3
#define  CAN1RXFG4 0x01A4
#define  CAN1RXFG5 0x01A5
#define  CAN1RXFG6 0x01A6
#define  CAN1RXFG7 0x01A7
#define  CAN1RXFG8 0x01A8
#define  CAN1RXFG9 0x01A9
#define  CAN1RXFGA 0x01AA
#define  CAN1RXFGB 0x01AB
#define  CAN1RXFGC 0x01AC
#define  CAN1RXFGD 0x01AD
#define  CAN1RXFGE 0x01AE
#define  CAN1RXFGF 0x01AF
#define  CAN1TXFG0 0x01B0
#define  CAN1TXFG1 0x01B1
#define  CAN1TXFG2 0x01B2
#define  CAN1TXFG3 0x01B3
#define  CAN1TXFG4 0x01B4
#define  CAN1TXFG5 0x01B5
#define  CAN1TXFG6 0x01B6
#define  CAN1TXFG7 0x01B7
#define  CAN1TXFG8 0x01B8
#define  CAN1TXFG9 0x01B9
#define  CAN1TXFGA 0x01BA
#define  CAN1TXFGB 0x01BB
#define  CAN1TXFGC 0x01BC
#define  CAN1TXFGD 0x01BD
#define  CAN1TXFGE 0x01BE
#define  CAN1TXFGF 0x01BF
#define  CAN2CTL0  0x01C0
#define  CAN2CTL1  0x01C1
#define  CAN2BTR0  0x01C2
#define  CAN2BTR1  0x01C3
#define  CAN2RFLG  0x01C4
#define  CAN2RIER  0x01C5
#define  CAN2TFLG  0x01C6
#define  CAN2TIER  0x01C7
#define  CAN2TARQ  0x01C8
#define  CAN2TAAK  0x01C9
#define  CAN2TBSEL 0x01CA
#define  CAN2IDAC  0x01CB

#define  CAN2RXERR 0x01CE
#define  CAN2TXERR 0x01CF
#define  CAN2IDAR0 0x01D0
#define  CAN2IDAR1 0x01D1
#define  CAN2IDAR2 0x01D2
#define  CAN2IDAR3 0x01D3
#define  CAN2IDMR0 0x01D4
#define  CAN2IDMR1 0x01D5
#define  CAN2IDMR2 0x01D6
#define  CAN2IDMR3 0x01D7
#define  CAN2IDAR4 0x01D8
#define  CAN2IDAR5 0x01D9
#define  CAN2IDAR6 0x01DA
#define  CAN2IDAR7 0x01DB
#define  CAN2IDMR4 0x01DC
#define  CAN2IDMR5 0x01DD
#define  CAN2IDMR6 0x01DE
#define  CAN2IDMR7 0x01DF
#define  CAN2RXFG0 0x01E0
#define  CAN2RXFG1 0x01E1
#define  CAN2RXFG2 0x01E2
#define  CAN2RXFG3 0x01E3
#define  CAN2RXFG4 0x01E4
#define  CAN2RXFG5 0x01E5
#define  CAN2RXFG6 0x01E6
#define  CAN2RXFG7 0x01E7
#define  CAN2RXFG8 0x01E8
#define  CAN2RXFG9 0x01E9
#define  CAN2RXFGA 0x01EA
#define  CAN2RXFGB 0x01EB
#define  CAN2RXFGC 0x01EC
#define  CAN2RXFGD 0x01ED
#define  CAN2RXFGE 0x01EE
#define  CAN2RXFGF 0x01EF
#define  CAN2TXFG0 0x01F0
#define  CAN2TXFG1 0x01F1
#define  CAN2TXFG2 0x01F2
#define  CAN2TXFG3 0x01F3
#define  CAN2TXFG4 0x01F4
#define  CAN2TXFG5 0x01F5
#define  CAN2TXFG6 0x01F6
#define  CAN2TXFG7 0x01F7
#define  CAN2TXFG8 0x01F8
#define  CAN2TXFG9 0x01F9
#define  CAN2TXFGA 0x01FA
#define  CAN2TXFGB 0x01FB
#define  CAN2TXFGC 0x01FC
#define  CAN2TXFGD 0x01FD
#define  CAN2TXFGE 0x01FE
#define  CAN2TXFGF 0x01FF

#define  CAN3CTL0  0x0200
#define  CAN3CTL1  0x0201
#define  CAN3BTR0  0x0202
#define  CAN3BTR1  0x0203
#define  CAN3RFLG  0x0204
#define  CAN3RIER  0x0205
#define  CAN3TFLG  0x0206
#define  CAN3TIER  0x0207
#define  CAN3TARQ  0x0208
#define  CAN3TAAK  0x0209
#define  CAN3TBSEL 0x020A
#define  CAN3IDAC  0x020B

#define  CAN3RXERR 0x020E
#define  CAN3TXERR 0x020F
#define  CAN3IDAR0 0x0210
#define  CAN3IDAR1 0x0211
#define  CAN3IDAR2 0x0212
#define  CAN3IDAR3 0x0213
#define  CAN3IDMR0 0x0214
#define  CAN3IDMR1 0x0215
#define  CAN3IDMR2 0x0216
#define  CAN3IDMR3 0x0217
#define  CAN3IDAR4 0x0218
#define  CAN3IDAR5 0x0219
#define  CAN3IDAR6 0x021A
#define  CAN3IDAR7 0x021B
#define  CAN3IDMR4 0x021C
#define  CAN3IDMR5 0x021D
#define  CAN3IDMR6 0x021E
#define  CAN3IDMR7 0x021F

#define  CAN3RXFG0 0x0220
#define  CAN3RXFG1 0x0221
#define  CAN3RXFG2 0x0222
#define  CAN3RXFG3 0x0223
#define  CAN3RXFG4 0x0224
#define  CAN3RXFG5 0x0225
#define  CAN3RXFG6 0x0226
#define  CAN3RXFG7 0x0227
#define  CAN3RXFG8 0x0228
#define  CAN3RXFG9 0x0229
#define  CAN3RXFGA 0x022A
#define  CAN3RXFGB 0x022B
#define  CAN3RXFGC 0x022C
#define  CAN3RXFGD 0x022D
#define  CAN3RXFGE 0x022E
#define  CAN3RXFGF 0x022F
#define  CAN3TXFG0 0x0230
#define  CAN3TXFG1 0x0231
#define  CAN3TXFG2 0x0232
#define  CAN3TXFG3 0x0233
#define  CAN3TXFG4 0x0234
#define  CAN3TXFG5 0x0235
#define  CAN3TXFG6 0x0236
#define  CAN3TXFG7 0x0237
#define  CAN3TXFG8 0x0238
#define  CAN3TXFG9 0x0239
#define  CAN3TXFGA 0x023A
#define  CAN3TXFGB 0x023B
#define  CAN3TXFGC 0x023C
#define  CAN3TXFGD 0x023D
#define  CAN3TXFGE 0x023E
#define  CAN3TXFGF 0x023F

#define  PTT       0x0240
#define  PTIT      0x0241
#define  DDRT      0x0242
#define  RDRT      0x0243
#define  PERT      0x0244
#define  PPST      0x0245

#define  PTS       0x0248
#define  PTIS      0x0249
#define  DDRS      0x024A
#define  RDRS      0x024B
#define  PERS      0x024C
#define  PPSS      0x024D
#define  WOMS      0x024E

#define  PTM       0x0250
#define  PTIM      0x0251
#define  DDRM      0x0252
#define  RDRM      0x0253
#define  PERM      0x0254
#define  PPSM      0x0255
#define  WOMM      0x0256

#define  PTP       0x0258
#define  PTIP      0x0259
#define  DDRP      0x025A
#define  RDRP      0x025B
#define  PERP      0x025C
#define  PPSP      0x025D
#define  PIEP      0x025E
#define  PIFP      0x025F
#define  PTH       0x0260
#define  PTIH      0x0261
#define  DDRH      0x0262
#define  RDRH      0x0263
#define  PERH      0x0264
#define  PPSH      0x0265
#define  PIEH      0x0266
#define  PIFH      0x0267
#define  PTJ       0x0268
#define  PTIJ      0x0269
#define  DDRJ      0x026A
#define  RDRJ      0x026B
#define  PERJ      0x026C
#define  PPSJ      0x026D
#define  PIEJ      0x026E
#define  PIFJ      0x026F

#define  CAN4CTL0  0x0280
#define  CAN4CTL1  0x0281
#define  CAN4BTR0  0x0282
#define  CAN4BTR1  0x0283
#define  CAN4RFLG  0x0284
#define  CAN4RIER  0x0285
#define  CAN4TFLG  0x0286
#define  CAN4TIER  0x0287
#define  CAN4TARQ  0x0288
#define  CAN4TAAK  0x0289
#define  CAN4TBSEL 0x028A
#define  CAN4IDAC  0x028B

#define  CAN4RXERR 0x028E
#define  CAN4TXERR 0x028F
#define  CAN4IDAR0 0x0290
#define  CAN4IDAR1 0x0291
#define  CAN4IDAR2 0x0292
#define  CAN4IDAR3 0x0293
#define  CAN4IDMR0 0x0294
#define  CAN4IDMR1 0x0295
#define  CAN4IDMR2 0x0296
#define  CAN4IDMR3 0x0297
#define  CAN4IDAR4 0x0298
#define  CAN4IDAR5 0x0299
#define  CAN4IDAR6 0x029A
#define  CAN4IDAR7 0x029B
#define  CAN4IDMR4 0x029C
#define  CAN4IDMR5 0x029D
#define  CAN4IDMR6 0x029E
#define  CAN4IDMR7 0x029F

#define  CAN4RXFG0 0x02A0
#define  CAN4RXFG1 0x02A1
#define  CAN4RXFG2 0x02A2
#define  CAN4RXFG3 0x02A3
#define  CAN4RXFG4 0x02A4
#define  CAN4RXFG5 0x02A5
#define  CAN4RXFG6 0x02A6
#define  CAN4RXFG7 0x02A7
#define  CAN4RXFG8 0x02A8
#define  CAN4RXFG9 0x02A9
#define  CAN4RXFGA 0x02AA
#define  CAN4RXFGB 0x02AB
#define  CAN4RXFGC 0x02AC
#define  CAN4RXFGD 0x02AD
#define  CAN4RXFGE 0x02AE
#define  CAN4RXFGF 0x02AF
#define  CAN4TXFG0 0x02B0
#define  CAN4TXFG1 0x02B1
#define  CAN4TXFG2 0x02B2
#define  CAN4TXFG3 0x02B3
#define  CAN4TXFG4 0x02B4
#define  CAN4TXFG5 0x02B5
#define  CAN4TXFG6 0x02B6
#define  CAN4TXFG7 0x02B7
#define  CAN4TXFG8 0x02B8
#define  CAN4TXFG9 0x02B9
#define  CAN4TXFGA 0x02BA
#define  CAN4TXFGB 0x02BB
#define  CAN4TXFGC 0x02BC
#define  CAN4TXFGD 0x02BD
#define  CAN4TXFGE 0x02BE
#define  CAN4TXFGF 0x02BF



/***********************************************
Constants for MSCAN
************************************************
*/

#define CAN0      0x0140  /* First address for MSCAN0                    */
#define CAN1      0x0180  /* First address for MSCAN1                    */
#define CAN2      0x01C0  /* First address for MSCAN2                    */
#define CAN3      0x0200  /* First address for MSCAN3                    */
#define CAN4      0x0280  /* First address for MSCAN4                    */

#define CANCTL0   0X00    /* Control register 0                          */
#define CANCTL1   0X01    /* Control register 1                          */
#define CANBTR0   0X02    /* Bus timing register 0                       */
#define CANBTR1   0X03    /* Bus timing register 1                       */
#define CANRFLG   0X04    /* Receiver flag register                      */
#define CANRIER   0X05      /* Enable interruptions when reception           */
#define CANTFLG   0X06    /* Transmit flag register                      */
#define CANTIER   0X07      /* Enable interruptions when transmission        */
#define CANTBSEL  0X0A    /* Select foreground buffer for transmit       */
#define CANIDAC   0x0B    /* Identifier acceptance control register      */
#define CANIDAR0  0x10
#define CANIDAR1  0x11
#define CANIDAR2  0x12
#define CANIDAR3  0x13
#define CANIDMR0  0x14
#define CANIDMR1  0x15
#define CANIDMR2  0x16
#define CANIDMR3  0x17
#define CANIDAR4  0x18
#define CANIDAR5  0x19
#define CANIDAR6  0x1A
#define CANIDAR7  0x1B
#define CANIDMR4  0x1C
#define CANIDMR5  0x1D
#define CANIDMR6  0x1E
#define CANIDMR7  0x1F

/* Received foreground buffer */
#define CANRCVID  0x20    /* Base of identifier registers                */
#define CANRCVDTA 0x24    /* Base of data       registers                */
#define CANRCVLEN 0x2C    /* Data length        register                 */

/* Transmit foreground buffer */
#define CANTRSID  0x30    /* Base of identifier registers                */
#define CANTRSDTA 0x34    /* Base of data       registers                */
#define CANTRSLEN 0x3C    /* Data length        register                 */
#define CANTRSPRI 0x3D    /* Priority           register                 */


/* Constants for serials port */
#define  SCI0      0x00C8
#define  SCI1      0x00D0

#define  SCIBDH    0x00
#define  SCIBDL    0x01
#define  SCICR1    0x02
#define  SCICR2    0x03
#define  SCISR1    0x04
#define  SCISR2    0x05
#define  SCIDRH    0x06
#define  SCIDRL    0x07


#endif  /* __HCS12_PORTS__  */











